#pragma once

#include <map>
#include "LinkAutomaticUniform.h"

namespace Renderer
{
	class LinkAutomaticUniformCollection
	{
	public:
		LinkAutomaticUniformCollection();

		~LinkAutomaticUniformCollection();

		std::string GetKeyFroItem(LinkAutomaticUniform* item);

		std::map<std::string, LinkAutomaticUniform*>* GetCollection() const;

		void Add(LinkAutomaticUniform* uniform);

		bool Contains(const std::string& name) const;

		LinkAutomaticUniform* GetByName(const std::string& name) const;

	private:
		std::map<std::string, LinkAutomaticUniform*>* m_pCollection;
	};

}